A Unification of Inheritance and Automatic Program Specialization
نویسنده
چکیده
The object-oriented style of programming facilitates program adaptation and enhances program genericness, but at the expense of efficiency. Automatic program specialization can be used to generate specialized, efficient implementations for specific scenarios, but requires the program to be structured appropriately for specialization and is yet another new concept for the programmer to understand and apply. We have unified automatic program specialization and inheritance into a single concept, and implemented this approach in a modified version of Java named JUST. When programming in JUST, inheritance is used to control the automatic application of program specialization to class members during compilation to obtain an efficient implementation. This paper presents the language JUST, which integrates object-oriented concepts, block structure, and techniques from automatic program specialization to provide both a generative programming language where object-oriented designs can be efficiently implemented and a simple yet powerful automatic program specializer for an object-oriented language.
منابع مشابه
Towards Unifying Inheritance and Automatic Program Specialization
Inheritance allows a class to be specialized and its attributes refined, but implementation specialization can only take place by overriding with manually implemented methods. Automatic program specialization can generate a specialized, efficient implementation. However, specialization of programs and specialization of classes (inheritance) are considered different abstractions. We present a ne...
متن کاملAbstract Specialization and Its Application to Program Parallelization
Specialization and its Application to Program Parallelization Germán Puebla and Manuel Hermenegildo {german,herme}@fi.upm.es Department of Computer Science Technical University of Madrid (UPM) Abstract. Program specialization optimizes programs for known valúes of the input. It is often the case that the set of possible input valúes is unknown, or this set is infinite. However, a form of specia...
متن کاملObject-Oriented Program Specialization: Aspects Into Aspects — Or Maybe Not?
Automatic program specialization is a software engineering technique that configures a program fragment by generating an implementation dedicated to a specific usage context. Given a generic component that solves a whole family of problems and that is implemented in a standard programming language, program specialization can automatically configure this component by generating a specialized imp...
متن کاملUnification of Two Approaches to Teacher Training in Iran: A Critical Review of Farhangiyan University’s Charter
Unification of Two Approaches to Teacher Training in Iran: A Critical Review of Farhangiyan University’s Charter N. Moosaapoor, Ph.D.* The historical facts imbedded in the century-old Iranian experience in teacher training reveal two different and coexisting approaches. One is a university-based four-year program aiming at training high school teachers, while the other is a two-year pro...
متن کاملAutomatic Exploitation of Input Parallelism
Parallelism may reside in the input of a program rather than the program itself. A script interpreter, for example, is hard to parallelize because its dynamic behavior is unpredictable until an input script is given. Once the interpreter is combined with the script, the resulting program becomes predictable, and even parallelizable if the input script contains parallelism. Despite recent progre...
متن کامل